Manager: Menu Manager



Carbon will support the Menu Manager, with the following changes:

* Your application must use the functions defined by the Menu Manager whenever it creates and disposes of Menu Manager data structures. Some applications, for example, create menus by using the Resource Manager function GetResource (instead of the Menu Manager function GetMenu) and dispose of them by calling ReleaseResource instead of DisposeMenu. This practice is not supported in Carbon.

* The MenuInfo structure is opaque in Carbon. You must revise your application so that it accesses Menu Manager data structures only through accessor functions.

* There are several Menu Manager functions that deal with manipulating menu color information tables. Apple recommends that you stop using them. The Appearance Manager generally disregards these color tables and instead uses the colors defined for the current appearance.

* You are strongly encouraged to adopt the standard Mac OS 8 menu definition procedures (also known as MDEFs) in your application. Your menus will then inherit the systemwide appearance and, furthermore, take advantage of other Menu Manager enhancements planned for the future. Note, however, that if you must use custom menu definition procedures, you must compile them as PowerPC-native code.

Supported  AppendMenu

Unsupported  appendmenu

Use AppendMenu instead.

Supported  AppendMenuItemText

Supported  AppendResMenu

Supported  CalcMenuSize

Unsupported  CallMBarHookProc

Accessing the MBarHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu bar events instead.

Unsupported  CallMenuBarDefProc

The menu bar is not customizable in Carbon.

Not Recommended  CallMenuDefProc

Unsupported  CallMenuHookProc

Accessing the MenuHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu events instead.

Supported  ChangeMenuAttributes

Supported  ChangeMenuItemAttributes

Unsupported  CheckItem

You should instead use CheckMenuItem.

Supported  CheckMenuItem

Supported  ClearMenuBar

Supported  ContextualMenuSelect

Supported  CountMenuItems

Supported  CountMenuItemsWithCommandID

Unsupported  CountMItems

You should instead use CountMenuItems.

Supported  CreateCustomMenu

Supported  CreateNewMenu

Not Recommended  DeleteMCEntries

DeleteMCEntries does nothing, because the Appearance Manager doesn't use color tables.

Supported  DeleteMenu

Supported  DeleteMenuItem

Supported  DisableAllMenuItems

Unsupported  DisableItem

Replaced by DisableMenuItem.

Supported  DisableMenuCommand

Supported  DisableMenuItem

Note that the implementation of Carbon on Mac OS 8.1 only supports disabling menu items less than or equal to 31.

Supported  DisableMenuItemIcon

Unsupported  DisposeMBarHookUPP

Accessing the MBarHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu bar events instead.

Not Recommended  DisposeMCInfo

DisposeMCInfo does nothing, because Appearance Manager doesn't use color tables.

Supported  DisposeMenu

Unsupported  DisposeMenuBarDefUPP

The menu bar is not customizable in Carbon.

Not Recommended  DisposeMenuDefUPP

Unsupported  DisposeMenuHookUPP

Accessing the MenuHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu events instead.

Supported  DrawMenuBar

Supported  EnableAllMenuItems

Unsupported  EnableItem

Replaced by EnableMenuItem.

Supported  EnableMenuCommand

Supported  EnableMenuItem

Supported  EnableMenuItemIcon

Supported  FlashMenuBar

Supported  GDBShowMenuInfo

Supported  GDBShowMenuItemInfo

Supported  GDBShowMenuList

Supported  GetIndMenuItemWithCommandID

Supported  GetItemCmd

Supported  GetItemIcon

Supported  GetItemMark

Supported  GetItemStyle

Supported  GetMBarHeight

Not Recommended  GetMCEntry

GetMCEntry does nothing, because Appearance Manager doesn't use color tables.

Not Recommended  GetMCInfo

GetMCInfo does nothing, because Appearance Manager doesn't use color tables.

Supported  GetMenu

Supported  GetMenuAttributes

Supported  GetMenuBar

Supported  GetMenuCommandProperty

Supported  GetMenuCommandPropertySize

Supported  GetMenuDefinition

Not Recommended  GetMenuExcludesMarkColumn

You should instead inspect the kMenuExcludesMarkColumn menu attribute using the GetMenuAttributes function.

Supported  GetMenuFont

Supported  GetMenuHandle

Supported  GetMenuHeight

Supported  GetMenuID

Supported  GetMenuItemAttributes

Supported  GetMenuItemCommandID

Supported  GetMenuItemData

Supported  GetMenuItemFontID

Supported  GetMenuItemHierarchicalID

Supported  GetMenuItemIconHandle

Supported  GetMenuItemKeyGlyph

Supported  GetMenuItemModifiers

Supported  GetMenuItemProperty

Supported  GetMenuItemPropertySize

Supported  GetMenuItemRefCon

Unsupported  GetMenuItemRefCon2

To associate data with a menu item you should instead use the Get/SetMenuItemProperty functions available with the Mac OS 8.5 Menu Manager.

Supported  GetMenuItemText

Unsupported  getmenuitemtext

Use GetMenuItemText instead.

Supported  GetMenuItemTextEncoding

Supported  GetMenuTitle

Supported  GetMenuTrackingData

Supported  GetMenuWidth

Supported  GetNewMBar

Supported  HideMenuBar

Supported  HiliteMenu

Supported  InitContextualMenus

Unsupported  InitMenus

InitMenus is not supported in Carbon. There is no need to initialize the Menu Manager because the shared library is loaded as needed.

Unsupported  InitProcMenu

You must use the standard menu bar definition function (MBDF).

Supported  InsertFontResMenu

Supported  InsertIntlResMenu

Supported  InsertMenu

Supported  InsertMenuItem

Unsupported  insertmenuitem

Use InsertMenuItem instead.

Supported  InsertMenuItemText

Supported  InsertResMenu

Supported  InvalMenuBar

Unsupported  InvokeMBarHookUPP

Accessing the MBarHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu bar events instead.

Unsupported  InvokeMenuBarDefUPP

The menu bar is not customizable in Carbon.

Supported  InvokeMenuDefUPP

Unsupported  InvokeMenuHookUPP

Accessing the MenuHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu events instead.

Supported  IsMenuBarVisible

Supported  IsMenuCommandEnabled

Supported  IsMenuItemEnabled

Supported  IsMenuItemIconEnabled

Supported  IsShowContextualMenuClick

Unsupported  MBarHookProcPtr

Accessing the MBarHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu bar events instead.

Unsupported  MenuBarDefProcPtr

The menu bar is not customizable in Carbon.

Supported  MenuChoice

Not Recommended  MenuDefProcPtr

Supported  MenuEvent

Supported  MenuHasEnabledItems

Unsupported  MenuHookProcPtr

Accessing the MenuHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu events instead.

Supported  MenuKey

Supported  MenuSelect

Unsupported  menuselect

Use MenuSelect instead.

Unsupported  NewMBarHookProc

Accessing the MBarHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu bar events instead.

Unsupported  NewMBarHookUPP

Accessing the MBarHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu bar events instead.

Supported  NewMenu

Unsupported  newmenu

Use NewMenu instead.

Unsupported  NewMenuBarDefProc

The menu bar is not customizable in Carbon.

Unsupported  NewMenuBarDefUPP

The menu bar is not customizable in Carbon.

Not Recommended  NewMenuDefProc

Supported  NewMenuDefUPP

Unsupported  NewMenuHookProc

Accessing the MenuHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu events instead.

Unsupported  NewMenuHookUPP

Accessing the MenuHook low-memory global variable is not supported in Carbon. Use the Carbon Event Manager to work with menu events instead.

Supported  PopUpMenuSelect

Supported  ProcessIsContextualMenuClient

Supported  RegisterMenuDefinition

Supported  RemoveMenuCommandProperty

Supported  RemoveMenuItemProperty

Supported  SetItemCmd

Supported  SetItemIcon

Supported  SetItemMark

Supported  SetItemStyle

Not Recommended  SetMCEntries

SetMCEntries does nothing, because Appearance Manager doesn't use color tables.

Not Recommended  SetMCInfo

SetMCInfo does nothing, because Appearance Manager doesn't use color tables.

Supported  SetMenuBar

Supported  SetMenuCommandProperty

Supported  SetMenuDefinition

Not Recommended  SetMenuExcludesMarkColumn

You should instead set the kMenuExcludesMarkColumn menu attribute using the SetMenuAttributes function.

Unsupported  SetMenuFlash

In the future, the Appearance Manager may control menu-flashing behavior.

Supported  SetMenuFlashCount

Supported  SetMenuFont

Supported  SetMenuHeight

Supported  SetMenuID

Supported  SetMenuItemCommandID

Supported  SetMenuItemData

Supported  SetMenuItemFontID

Supported  SetMenuItemHierarchicalID

Supported  SetMenuItemIconHandle

Supported  SetMenuItemKeyGlyph

Supported  SetMenuItemModifiers

Supported  SetMenuItemProperty

Supported  SetMenuItemRefCon

Unsupported  SetMenuItemRefCon2

To associate data with a menu item in Carbon, you should instead use the Get/SetMenuItemProperty functions.

Supported  SetMenuItemText

Unsupported  setmenuitemtext

Use SetMenuItemText instead.

Supported  SetMenuItemTextEncoding

Supported  SetMenuTitle

Supported  SetMenuWidth

Supported  ShowMenuBar

Unsupported  SystemEdit

Carbon does not support desk accessories.

Unsupported  SystemMenu

Carbon does not support desk accessories.

[Table of Contents] [Manager Index] [Function Index]

Generated on: 7/7/99. Copyright 1999 Apple Computer, Inc. All rights reserved.